﻿//-----------------------------------------------------------------------
// <copyright file="Enumerations.cs" company="FastNET Services">
//     Copyright (c) 2008-2009. All Rights Reserved.
// </copyright>
// <license>
//     GPLv2
// </license>
// <warranty>
//     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
//     BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
//     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
//     DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// </warranty>
//-----------------------------------------------------------------------
#region Usings

using System;
using System.ComponentModel;

#endregion

namespace GateShift.Common.Controls.Wizards
{
    /// <summary>
    /// Enum configure how much buttons will be shown by wizard 
    /// and what state buttons will have
    /// </summary>
    [Flags]
    public enum WizardsButtons
    {
        /// <summary>
        /// Default Wizard Button
        /// </summary>
        [Browsable(false)]
        None = 0x0000,

        /// <summary>
        /// Enable or Disable Previous Button
        /// </summary>
        [Description("Enable or Disable Previous Button")]
        Previous = 0x0001,

        /// <summary>
        /// Enable or Disable Next/Finish button
        /// </summary>
        [Description("Enable or Disable Next/Finish button")]
        Next = 0x0002,

        /// <summary>
        /// If checked then Next button become a Finish Button
        /// </summary>
        [Description("If checked then Next button become a Finish Button")]
        Finish = 0x0004,

        /// <summary>
        /// Show or not Help button
        /// </summary>
        [Description("Show or not Help button")]
        Help = 0x0010,

        /// <summary>
        /// Enable or Disable Cancel button
        /// </summary>
        [Description("Enable or Disable Cancel button")]
        Cancel = 0x0020,

        /// <summary>
        /// Includes Previous, Next, Cancel, Help buttons
        /// </summary>
        [Browsable(false)]
        All = Previous | Next | Cancel | Help,

        /// <summary>
        /// Includes Previous, Next, Cancel buttons
        /// </summary>
        [Browsable(false)]
        AllShort = Previous | Next | Cancel,

        /// <summary>
        /// Includes Previous, Cancel buttons
        /// </summary>
        [Browsable(false)]
        AllShortNextDisabled = Previous | Cancel,

        /// <summary>
        /// Includes Previous, Finish, Cancel buttons
        /// </summary>
        [Browsable(false)]
        AllShortFinishDisabled = Previous | Finish | Cancel,

        /// <summary>
        /// Includes Previous, Next, Finish, Cancel buttons
        /// </summary>
        [Browsable(false)]
        AllShortFinishEnabled = Previous | Next | Finish | Cancel,

        /// <summary>
        /// Includes Previous, Next, Finish, Help buttons
        /// </summary>
        [Browsable(false)]
        AllFinishEnabled = Previous | Next | Finish | Cancel | Help,

        /// <summary>
        /// Includes Previous, Finish, Cancel, Help buttons
        /// </summary>
        [Browsable(false)]
        AllFinishDisabled = Previous | Finish | Help | Cancel
    }

    /// <summary>
    /// Enum configure Help Button Position
    /// </summary>
    public enum HelpPosition
    {
        /// <summary>
        /// Aligns the help button to the left side
        /// </summary>
        AlignLeft,

        /// <summary>
        /// Aligns the help button to the right side
        /// </summary>
        AlignRight
    }
}